//
//  SHOAuthProgressView.swift
//  三期微博1
//
//  Created by TownFish on 16/7/22.
//  Copyright © 2016年 TownFish. All rights reserved.
//

import UIKit

class SHOAuthProgressView: UIProgressView {
    //定义一个定时器
    var timer: NSTimer?
    var isAnim: Bool = true
    
    override init(frame: CGRect) {
        super.init(frame: CGRect(x: 0, y: 64, width: SCREENW, height: 2))
        setupUI()
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    //MARK: - 设置视图
    private func setupUI(){
//        backgroundColor = UIColor.greenColor()
        self.tintColor = UIColor.greenColor()
    }
    
    //MARK: - 供外界调用的方法
    //开始动画
    func startAnim() {
        //因为频繁调用
        self.progress = 0
        self.hidden = false
        
        
        
        timer = NSTimer.scheduledTimerWithTimeInterval(1/60, target: self, selector: "valueChange", userInfo: nil, repeats: true)
    }
    //结束动画
    func endAnim() {
        isAnim = false
    }
    //删除当前控件
    func removeView() {
        removeFromSuperview()
    }
    /*主要是分三种情况:
        第一步,每次都加0.05一直到0.95
        第二步,第一种,加载成功,isAnim为false,那么加上0.05,然后判断进度条为1,完成后隐藏
                第二种,加载失败,然后一直停留在0.95
    */
    func valueChange() {
        
        if isAnim {
            self.progress += 0.05
            if self.progress >= 0.95 {
                self.progress = 0.95
            }
        }else {
            
            if self.progress == 1 {
            
               self.hidden = true
                
                //设置为失效
                timer?.invalidate()
            }else{
                self.progress += 0.05
            }
            
        }
    }
    
    
    deinit{
        //设置为失效
        timer?.invalidate()
    }
    

}
